import sys
from pathlib import Path

base_path = str(Path(__file__).resolve().parent.parent)
sys.path.append(base_path)

from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from create_llm import create_llm

_prompt = ChatPromptTemplate.from_template(
    "你是一名专业的智能助手，你需要根据你所需的知识回答用户提问，你回复的语言以及思考的内容需要与用户使用的语言相同，用户提问：{user_content}"
)

# temp = _prompt.invoke(
#     {
#         "user_content": (
#             "请用表格的方式展示过去10年美债利率变化以及当年纳斯达克的涨幅，现在是2025年"
#         )
#     }
# )
# print(temp)

_llm = create_llm("doubao")

_parser = StrOutputParser()

chat = _prompt | _llm | _parser

temp = chat.invoke(
    "请用表格的方式展示过去10年美债利率变化以及当年纳斯达克的涨幅，现在是2025年"
)
print(temp)

for chunk in chat.stream(
    "请用表格的方式展示过去10年美债利率变化以及当年纳斯达克的涨幅，现在是2025年"
):
    print(chunk, end="", flush=True)
